package main

import "fmt"
import "time"

func main() {
	ch1 := make(chan int) //不带缓冲区
	ch2 := make(chan int)
	go func() {
		time.Sleep(4 * time.Second)
		<-ch1
	}()

	select {
	case ch1 <- 1:
		fmt.Println("chan1 send")
	case ch2 <- 1:
		fmt.Println("chan2 send")
	}
	fmt.Println("done")
}

// 用于测试select的多路复用（写阻塞）
// 如果去掉go func的逻辑，则会报dead lock的错误
